Amazon AppFlowでMarketing Cloud Account Engagement(旧:Pardot)のデータをAmazon S3に連携する
データアナリティクス事業本部インテグレーション部コンサルティングチーム・新納(にいの)です。
みなさん、マーケティングをオートメーションしていますか?MA(マーケティングオートメーション)ツールといえば、広く知られているのはMarketing Cloud Account Engagement(旧:Pardot)ですよね。
※Pardotは2022年4月7日より「Marketing Cloud Account Engagement」に名称変更していますが、本記事ではAWSマネジメントコンソール上の表記に従って「Pardot」と記載いたします。
Pardot上でもデータ内容をいい感じに確認できますが、他システムのデータと突合して確認したいケースではデータを取得しておけると便利ですよね。今回はデータ統合ツールであるAmazon AppFlowを使ってPardotのデータをS3に連携します。
おさらい:Amazon AppFlowとは?
Amazon AppFlowとは、SaaSサービスのデータをAmazon RedshiftやAmazon S3といったAWSサービスや、SnowflakeやSalesforceなどに転送できるフルマネージドなデータ統合サービスです。
今回はAppFlowを使い、PardotのデータをS3バケットに連携します。
Amazon AppFlowでフロー作成する
では本題に入りましょう。AWSマネジメントコンソールから「フロー作成」に移動します。フロー名には任意のものを設定し、他の設定はデフォルトのまま次へ進みます。
Pardotとの接続
送信元には「Salesforce Pardot」を指定し、接続ボタンから接続設定を行います。
接続設定画面ではProduction・Sandbox環境かを選べます。PardotのビジネスユニットID(0Uv
から始まる18桁の文字列。Pardotのアカウント設定画面から確認可能です)と任意の接続名を記載して続行します。
Amazon_AppFlow_Pardot_Embedded_Login_AppがPardotにアクセス許可を求めるダイアログが出ますので、許可を選択して次に進みます。
すると、元のAppFlowの送信元選択画面に遷移します。連携したいPardotオブジェクトをドロップダウンリストから選択します。今回はCampaign
を選択してみました。データの送信先にはS3を選択し、バケットをドロップダウンリストから選択します。
その他の設定からデータ形式、データ転送の設定、ファイル名の設定、フォルダ構造の設定が可能です。今回はCSV形式で出力し、フロー実行ごとにファイルをひとつに集約するように「すべてのレコードを集約する」にしました。あとの設定はデフォルトのままです。
フロートリガーでは実行のトリガーを選択可能です。今回はテスト実行のため、オンデマンドでの実行に設定しました。
マッピング設定
次の画面ではマッピングの設定を行います。今回は「手動でフィールドをマッピングする」を選択しました。
データ連携する項目を選択し、データ型の変更などの簡単な変換処理が行えます。今回は項目をそのまま連携させます。
妥当性確認では、条件によってフロー終了したりレコードを無視したりできます。今回は、Id
の値がNULLの場合はフローを終了するように設定しています。
フィルター追加
フィルターでは、条件を満たすレコードのみを転送するよう設定可能です。2022/1/1以降のレコードのみを連携するよう設定しました。
確認画面でフロー作成を完了します。
フロー実行してみた
早速作成したフローを「フロー実行」ボタンから実行します。
送信先のS3バケットにデータが作成され、S3 Selectするとちゃんとデータの中身も入っていることが確認できました。
まとめ
コードを書かずにデータパイプラインを作り、PardotのデータをS3に連携させることができました。非エンジニア職の方も簡単に分析に使うデータが取得できて可視化までのハードルが下がりますね。Glue DataBrewと組み合わせることで、データの取得からクレンジング処理もノーコードでできるようになり、さらに便利に使えそうです。